package com.weight.system.user.service.impl;

import com.weight.system.user.PO.UserInfo;
import com.weight.system.user.service.UserInfoService;
import com.weight.system.user.DAO.UserInfoMapper;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.github.pagehelper.PageHelper;
import org.springframework.transaction.annotation.Transactional;
import com.weight.common.util.CommonUtils;
import lombok.extern.slf4j.Slf4j;

/**
 * 人员信息表
 */
@Service
@Transactional
@Slf4j
public class UserInfoServiceImpl implements UserInfoService {

	@Autowired
	private UserInfoMapper userInfoMapper;


	/**
	 * 查询人员信息信息--条件查询
	 * @param map
	 * @return
	 */
	@Override
	public List<UserInfo> findUserInfoByT(Map map){
		return userInfoMapper.findUserInfoByT(map);
	}

	/**
	 * 查询人员信息信息--条件，分页查询
	 * @param currentPage
	 * @param pageSize
	 * @param map
	 * @return
	 */
	@Override
	public List<UserInfo> findUserInfoByPage(int currentPage,int pageSize,Map map){
		PageHelper.startPage(currentPage, pageSize);
		List<UserInfo> userInfoList = userInfoMapper.findUserInfoByT(map);
		return userInfoList;
	}

	/**
	 * 查询人员信息信息--查询全部
	 * @return
	 */
	@Override
	public List<UserInfo> findAll(){
		return userInfoMapper.findAll();
	}

	/**
	 * ID查询人员信息信息
	 * @param map
	 * @return
	 */
	@Override
	public UserInfo findByUserInfoId(Map map){
		UserInfo userInfo=userInfoMapper.findByUserInfoId(map);
//		CommonUtils.validateExistObj(userInfo,map);
		return userInfo;
	}

	/**
	 * ID查询人员信息信息-批量
	 * @param userInfoIdList
	 * @return
	 */
	@Override
	public List findByUserInfoIdList(List userInfoIdList){
		List idList = userInfoMapper.findByUserInfoIdList(userInfoIdList);
		CommonUtils.validateExistList(idList,userInfoIdList);
		return idList;
	}

	/**
	 * 添加人员信息
	 * @param userInfo
	 */
	@Override
	public void insertUserInfo(UserInfo userInfo){
		userInfoMapper.insertUserInfo(userInfo);
	}

	/**
	 * 批量添加人员信息
	 * @param userInfoList
	 */
	@Override
	public void insertUserInfoBatch(List<UserInfo> userInfoList){
		userInfoMapper.insertUserInfoBatch(userInfoList);
	}

	/**
	 * 修改人员信息
	 * @param userInfo
	 */
	@Override
	public void updateUserInfo(UserInfo userInfo){
		userInfoMapper.updateUserInfo(userInfo);
	}

	/**
	 * 修改人员信息
	 * @param userInfo
	 */
	@Override
	public void updateUserInfoLimt(UserInfo userInfo){
		userInfoMapper.updateUserInfoLimt(userInfo);
	}

	/**
	 * 物理删除人员信息
	 * @param map
	 */
	@Override
	public void deleteByUserInfoId(Map map){
		userInfoMapper.deleteByUserInfoId(map);
	}

	/**
	 * 批量物理删除人员信息
	 * @param userInfoIdList
	 */
	@Override
	public void deleteByUserInfoIdBatch(List userInfoIdList){
		userInfoMapper.deleteByUserInfoIdBatch(userInfoIdList);
	}

	/**
	 * 状态删除人员信息
	 * @param map
	 */
	@Override
	public void upDelByUserInfoId(Map map){
		userInfoMapper.upDelByUserInfoId(map);
	}

	/**
	 * 批量状态删除人员信息
	 * @param userInfoList
	 */
	@Override
	public void upDelByUserInfoIdBatch(Map<String, Object> map){
		userInfoMapper.upDelByUserInfoIdBatch(map);
	}

}